4b5956d99777f47d325f572027877f59b0f93316,portal-impl/src/com/liferay/portal/deploy/hot/HookHotDeployListener.java,HookHotDeployListener,initPortalProperties,#String#ClassLoader#Properties#Properties#,1557

Before Change


					portletClassLoader, AttributesTransformer.class,
					attributesTransformerClassName);

			ServiceRegistration<AttributesTransformer> serviceRegistration =
				registry.registerService(
					AttributesTransformer.class, attributesTransformer);

			serviceRegistrations.put(
				attributesTransformerClassName, serviceRegistration);
		}

		if (portalProperties.containsKey(LOCK_LISTENERS)) {
			LockListenerContainer lockListenerContainer =
				_lockListenerContainerMap.get(servletContextName);

			if (lockListenerContainer == null) {
				lockListenerContainer = new LockListenerContainer();

				_lockListenerContainerMap.put(
					servletContextName, lockListenerContainer);
			}

			String[] lockListenerClassNames = StringUtil.split(
				portalProperties.getProperty(LOCK_LISTENERS));

			for (String lockListenerClassName : lockListenerClassNames) {
				LockListener lockListener = (LockListener)newInstance(
					portletClassLoader, LockListener.class,
					lockListenerClassName);

				lockListenerContainer.registerLockListener(lockListener);
			}
		}

		if (portalProperties.containsKey(PropsKeys.MAIL_HOOK_IMPL)) {
			String mailHookClassName = portalProperties.getProperty(
				PropsKeys.MAIL_HOOK_IMPL);

			com.liferay.mail.util.Hook mailHook =
				(com.liferay.mail.util.Hook)newInstance(
					portletClassLoader, com.liferay.mail.util.Hook.class,
					mailHookClassName);

			com.liferay.mail.util.HookFactory.setInstance(mailHook);
		}

		if (portalProperties.containsKey(
				PropsKeys.MEMBERSHIP_POLICY_ORGANIZATIONS)) {

			String organizationMembershipPolicyClassName =
				portalProperties.getProperty(
					PropsKeys.MEMBERSHIP_POLICY_ORGANIZATIONS);

			OrganizationMembershipPolicyFactoryImpl
				organizationMembershipPolicyFactoryImpl =
					(OrganizationMembershipPolicyFactoryImpl)
						OrganizationMembershipPolicyFactoryUtil.
							getOrganizationMembershipPolicyFactory();

			OrganizationMembershipPolicy organizationMembershipPolicy =
				(OrganizationMembershipPolicy)newInstance(
					portletClassLoader, OrganizationMembershipPolicy.class,
					organizationMembershipPolicyClassName);

			organizationMembershipPolicyFactoryImpl.
				setOrganizationMembershipPolicy(organizationMembershipPolicy);

			if (PropsValues.MEMBERSHIP_POLICY_AUTO_VERIFY) {
				organizationMembershipPolicy.verifyPolicy();
			}
		}

		if (portalProperties.containsKey(PropsKeys.MEMBERSHIP_POLICY_ROLES)) {
			String roleMembershipPolicyClassName = portalProperties.getProperty(
				PropsKeys.MEMBERSHIP_POLICY_ROLES);

			RoleMembershipPolicyFactoryImpl roleMembershipPolicyFactoryImpl =
				(RoleMembershipPolicyFactoryImpl)
					RoleMembershipPolicyFactoryUtil.
						getRoleMembershipPolicyFactory();

			RoleMembershipPolicy roleMembershipPolicy =
				(RoleMembershipPolicy)newInstance(
					portletClassLoader, RoleMembershipPolicy.class,
					roleMembershipPolicyClassName);

			roleMembershipPolicyFactoryImpl.setRoleMembershipPolicy(
				roleMembershipPolicy);

			if (PropsValues.MEMBERSHIP_POLICY_AUTO_VERIFY) {
				roleMembershipPolicy.verifyPolicy();
			}
		}

		if (portalProperties.containsKey(PropsKeys.MEMBERSHIP_POLICY_SITES)) {
			String siteMembershipPolicyClassName = portalProperties.getProperty(
				PropsKeys.MEMBERSHIP_POLICY_SITES);

			SiteMembershipPolicyFactoryImpl siteMembershipPolicyFactoryImpl =
				(SiteMembershipPolicyFactoryImpl)
					SiteMembershipPolicyFactoryUtil.
						getSiteMembershipPolicyFactory();

			SiteMembershipPolicy siteMembershipPolicy =
				(SiteMembershipPolicy)newInstance(
					portletClassLoader, SiteMembershipPolicy.class,
					siteMembershipPolicyClassName);

			siteMembershipPolicyFactoryImpl.setSiteMembershipPolicy(
				siteMembershipPolicy);

			if (PropsValues.MEMBERSHIP_POLICY_AUTO_VERIFY) {
				siteMembershipPolicy.verifyPolicy();
			}
		}

		if (portalProperties.containsKey(
				PropsKeys.MEMBERSHIP_POLICY_USER_GROUPS)) {

			String userGroupMembershipPolicyClassName =
				portalProperties.getProperty(
					PropsKeys.MEMBERSHIP_POLICY_USER_GROUPS);

			UserGroupMembershipPolicyFactoryImpl
				userGroupMembershipPolicyFactoryImpl =
					(UserGroupMembershipPolicyFactoryImpl)
						UserGroupMembershipPolicyFactoryUtil.
							getUserGroupMembershipPolicyFactory();

			UserGroupMembershipPolicy userGroupMembershipPolicy =
				(UserGroupMembershipPolicy)newInstance(
					portletClassLoader, UserGroupMembershipPolicy.class,
					userGroupMembershipPolicyClassName);

			userGroupMembershipPolicyFactoryImpl.setUserGroupMembershipPolicy(
				userGroupMembershipPolicy);

			if (PropsValues.MEMBERSHIP_POLICY_AUTO_VERIFY) {
				userGroupMembershipPolicy.verifyPolicy();
			}
		}

		if (portalProperties.containsKey(PropsKeys.PASSWORDS_TOOLKIT)) {
			String toolkitClassName = portalProperties.getProperty(
				PropsKeys.PASSWORDS_TOOLKIT);

			Toolkit toolkit = (Toolkit)newInstance(
				portletClassLoader, Toolkit.class, toolkitClassName);

			ToolkitWrapper toolkitWrapper =
				(ToolkitWrapper)PwdToolkitUtil.getToolkit();

			toolkitWrapper.setToolkit(toolkit);
		}

		if (portalProperties.containsKey(PropsKeys.PHONE_NUMBER_FORMAT_IMPL)) {
			String phoneNumberFormatClassName = portalProperties.getProperty(
				PropsKeys.PHONE_NUMBER_FORMAT_IMPL);

			PhoneNumberFormat phoneNumberFormat =
				(PhoneNumberFormat)newInstance(
					portletClassLoader, PhoneNumberFormat.class,
					phoneNumberFormatClassName);

			PhoneNumberFormatWrapper phoneNumberFormatWrapper =
				(PhoneNumberFormatWrapper)
					PhoneNumberFormatUtil.getPhoneNumberFormat();

			phoneNumberFormatWrapper.setPhoneNumberFormat(phoneNumberFormat);
		}

		if (portalProperties.containsKey(PropsKeys.SANITIZER_IMPL)) {
			String[] sanitizerClassNames = StringUtil.split(
				portalProperties.getProperty(PropsKeys.SANITIZER_IMPL));

			SanitizerContainer sanitizerContainer = new SanitizerContainer();

			_sanitizerContainerMap.put(servletContextName, sanitizerContainer);

			for (String sanitizerClassName : sanitizerClassNames) {
				Sanitizer sanitizer = (Sanitizer)newInstance(
					portletClassLoader, Sanitizer.class, sanitizerClassName);

				sanitizerContainer.registerSanitizer(sanitizer);
			}
		}

		if (portalProperties.containsKey(
				PropsKeys.USERS_EMAIL_ADDRESS_GENERATOR)) {

			String emailAddressGeneratorClassName =
				portalProperties.getProperty(
					PropsKeys.USERS_EMAIL_ADDRESS_GENERATOR);

			EmailAddressGenerator emailAddressGenerator =
				(EmailAddressGenerator)newInstance(
					portletClassLoader, EmailAddressGenerator.class,
					emailAddressGeneratorClassName);

			ServiceRegistration<EmailAddressGenerator> serviceRegistration =
				registry.registerService(
					EmailAddressGenerator.class, emailAddressGenerator);

			serviceRegistrations.put(
				emailAddressGeneratorClassName, serviceRegistration);
		}

		if (portalProperties.containsKey(
				PropsKeys.USERS_EMAIL_ADDRESS_VALIDATOR)) {

			String emailAddressValidatorClassName =
				portalProperties.getProperty(
					PropsKeys.USERS_EMAIL_ADDRESS_VALIDATOR);

			EmailAddressValidator emailAddressValidator =
				(EmailAddressValidator)newInstance(
					portletClassLoader, EmailAddressValidator.class,
					emailAddressValidatorClassName);

			ServiceRegistration<EmailAddressValidator> serviceRegistration =
				registry.registerService(
					EmailAddressValidator.class, emailAddressValidator);

			serviceRegistrations.put(
				emailAddressValidatorClassName, serviceRegistration);
		}

		if (portalProperties.containsKey(PropsKeys.USERS_FULL_NAME_GENERATOR)) {
			String fullNameGeneratorClassName = portalProperties.getProperty(
				PropsKeys.USERS_FULL_NAME_GENERATOR);

			FullNameGenerator fullNameGenerator =
				(FullNameGenerator)newInstance(
					portletClassLoader, FullNameGenerator.class,
					fullNameGeneratorClassName);

			ServiceRegistration<FullNameGenerator> serviceRegistration =
				registry.registerService(
					FullNameGenerator.class, fullNameGenerator);

			serviceRegistrations.put(
				fullNameGeneratorClassName, serviceRegistration);
		}

		if (portalProperties.containsKey(PropsKeys.USERS_FULL_NAME_VALIDATOR)) {

After Change


					portletClassLoader, AttributesTransformer.class,
					attributesTransformerClassName);

			registerService(
				servletContextName, attributesTransformerClassName,
				AttributesTransformer.class, attributesTransformer);
		}

		if (portalProperties.containsKey(LOCK_LISTENERS)) {
			LockListenerContainer lockListenerContainer =
				_lockListenerContainerMap.get(servletContextName);

			if (lockListenerContainer == null) {
				lockListenerContainer = new LockListenerContainer();

				_lockListenerContainerMap.put(
					servletContextName, lockListenerContainer);
			}

			String[] lockListenerClassNames = StringUtil.split(
				portalProperties.getProperty(LOCK_LISTENERS));

			for (String lockListenerClassName : lockListenerClassNames) {
				LockListener lockListener = (LockListener)newInstance(
					portletClassLoader, LockListener.class,
					lockListenerClassName);

				lockListenerContainer.registerLockListener(lockListener);
			}
		}

		if (portalProperties.containsKey(PropsKeys.MAIL_HOOK_IMPL)) {
			String mailHookClassName = portalProperties.getProperty(
				PropsKeys.MAIL_HOOK_IMPL);

			com.liferay.mail.util.Hook mailHook =
				(com.liferay.mail.util.Hook)newInstance(
					portletClassLoader, com.liferay.mail.util.Hook.class,
					mailHookClassName);

			com.liferay.mail.util.HookFactory.setInstance(mailHook);
		}

		if (portalProperties.containsKey(
				PropsKeys.MEMBERSHIP_POLICY_ORGANIZATIONS)) {

			String organizationMembershipPolicyClassName =
				portalProperties.getProperty(
					PropsKeys.MEMBERSHIP_POLICY_ORGANIZATIONS);

			OrganizationMembershipPolicyFactoryImpl
				organizationMembershipPolicyFactoryImpl =
					(OrganizationMembershipPolicyFactoryImpl)
						OrganizationMembershipPolicyFactoryUtil.
							getOrganizationMembershipPolicyFactory();

			OrganizationMembershipPolicy organizationMembershipPolicy =
				(OrganizationMembershipPolicy)newInstance(
					portletClassLoader, OrganizationMembershipPolicy.class,
					organizationMembershipPolicyClassName);

			organizationMembershipPolicyFactoryImpl.
				setOrganizationMembershipPolicy(organizationMembershipPolicy);

			if (PropsValues.MEMBERSHIP_POLICY_AUTO_VERIFY) {
				organizationMembershipPolicy.verifyPolicy();
			}
		}

		if (portalProperties.containsKey(PropsKeys.MEMBERSHIP_POLICY_ROLES)) {
			String roleMembershipPolicyClassName = portalProperties.getProperty(
				PropsKeys.MEMBERSHIP_POLICY_ROLES);

			RoleMembershipPolicyFactoryImpl roleMembershipPolicyFactoryImpl =
				(RoleMembershipPolicyFactoryImpl)
					RoleMembershipPolicyFactoryUtil.
						getRoleMembershipPolicyFactory();

			RoleMembershipPolicy roleMembershipPolicy =
				(RoleMembershipPolicy)newInstance(
					portletClassLoader, RoleMembershipPolicy.class,
					roleMembershipPolicyClassName);

			roleMembershipPolicyFactoryImpl.setRoleMembershipPolicy(
				roleMembershipPolicy);

			if (PropsValues.MEMBERSHIP_POLICY_AUTO_VERIFY) {
				roleMembershipPolicy.verifyPolicy();
			}
		}

		if (portalProperties.containsKey(PropsKeys.MEMBERSHIP_POLICY_SITES)) {
			String siteMembershipPolicyClassName = portalProperties.getProperty(
				PropsKeys.MEMBERSHIP_POLICY_SITES);

			SiteMembershipPolicyFactoryImpl siteMembershipPolicyFactoryImpl =
				(SiteMembershipPolicyFactoryImpl)
					SiteMembershipPolicyFactoryUtil.
						getSiteMembershipPolicyFactory();

			SiteMembershipPolicy siteMembershipPolicy =
				(SiteMembershipPolicy)newInstance(
					portletClassLoader, SiteMembershipPolicy.class,
					siteMembershipPolicyClassName);

			siteMembershipPolicyFactoryImpl.setSiteMembershipPolicy(
				siteMembershipPolicy);

			if (PropsValues.MEMBERSHIP_POLICY_AUTO_VERIFY) {
				siteMembershipPolicy.verifyPolicy();
			}
		}

		if (portalProperties.containsKey(
				PropsKeys.MEMBERSHIP_POLICY_USER_GROUPS)) {

			String userGroupMembershipPolicyClassName =
				portalProperties.getProperty(
					PropsKeys.MEMBERSHIP_POLICY_USER_GROUPS);

			UserGroupMembershipPolicyFactoryImpl
				userGroupMembershipPolicyFactoryImpl =
					(UserGroupMembershipPolicyFactoryImpl)
						UserGroupMembershipPolicyFactoryUtil.
							getUserGroupMembershipPolicyFactory();

			UserGroupMembershipPolicy userGroupMembershipPolicy =
				(UserGroupMembershipPolicy)newInstance(
					portletClassLoader, UserGroupMembershipPolicy.class,
					userGroupMembershipPolicyClassName);

			userGroupMembershipPolicyFactoryImpl.setUserGroupMembershipPolicy(
				userGroupMembershipPolicy);

			if (PropsValues.MEMBERSHIP_POLICY_AUTO_VERIFY) {
				userGroupMembershipPolicy.verifyPolicy();
			}
		}

		if (portalProperties.containsKey(PropsKeys.PASSWORDS_TOOLKIT)) {
			String toolkitClassName = portalProperties.getProperty(
				PropsKeys.PASSWORDS_TOOLKIT);

			Toolkit toolkit = (Toolkit)newInstance(
				portletClassLoader, Toolkit.class, toolkitClassName);

			ToolkitWrapper toolkitWrapper =
				(ToolkitWrapper)PwdToolkitUtil.getToolkit();

			toolkitWrapper.setToolkit(toolkit);
		}

		if (portalProperties.containsKey(PropsKeys.PHONE_NUMBER_FORMAT_IMPL)) {
			String phoneNumberFormatClassName = portalProperties.getProperty(
				PropsKeys.PHONE_NUMBER_FORMAT_IMPL);

			PhoneNumberFormat phoneNumberFormat =
				(PhoneNumberFormat)newInstance(
					portletClassLoader, PhoneNumberFormat.class,
					phoneNumberFormatClassName);

			PhoneNumberFormatWrapper phoneNumberFormatWrapper =
				(PhoneNumberFormatWrapper)
					PhoneNumberFormatUtil.getPhoneNumberFormat();

			phoneNumberFormatWrapper.setPhoneNumberFormat(phoneNumberFormat);
		}

		if (portalProperties.containsKey(PropsKeys.SANITIZER_IMPL)) {
			String[] sanitizerClassNames = StringUtil.split(
				portalProperties.getProperty(PropsKeys.SANITIZER_IMPL));

			SanitizerContainer sanitizerContainer = new SanitizerContainer();

			_sanitizerContainerMap.put(servletContextName, sanitizerContainer);

			for (String sanitizerClassName : sanitizerClassNames) {
				Sanitizer sanitizer = (Sanitizer)newInstance(
					portletClassLoader, Sanitizer.class, sanitizerClassName);

				sanitizerContainer.registerSanitizer(sanitizer);
			}
		}

		if (portalProperties.containsKey(
				PropsKeys.USERS_EMAIL_ADDRESS_GENERATOR)) {

			String emailAddressGeneratorClassName =
				portalProperties.getProperty(
					PropsKeys.USERS_EMAIL_ADDRESS_GENERATOR);

			EmailAddressGenerator emailAddressGenerator =
				(EmailAddressGenerator)newInstance(
					portletClassLoader, EmailAddressGenerator.class,
					emailAddressGeneratorClassName);

			registerService(
				servletContextName, emailAddressGeneratorClassName,
				EmailAddressGenerator.class, emailAddressGenerator);
		}

		if (portalProperties.containsKey(
				PropsKeys.USERS_EMAIL_ADDRESS_VALIDATOR)) {

			String emailAddressValidatorClassName =
				portalProperties.getProperty(
					PropsKeys.USERS_EMAIL_ADDRESS_VALIDATOR);

			EmailAddressValidator emailAddressValidator =
				(EmailAddressValidator)newInstance(
					portletClassLoader, EmailAddressValidator.class,
					emailAddressValidatorClassName);

			registerService(
				servletContextName, emailAddressValidatorClassName,
				EmailAddressValidator.class, emailAddressValidator);
		}

		if (portalProperties.containsKey(PropsKeys.USERS_FULL_NAME_GENERATOR)) {
			String fullNameGeneratorClassName = portalProperties.getProperty(
				PropsKeys.USERS_FULL_NAME_GENERATOR);

			FullNameGenerator fullNameGenerator =
				(FullNameGenerator)newInstance(
					portletClassLoader, FullNameGenerator.class,
					fullNameGeneratorClassName);

			registerService(
				servletContextName, fullNameGeneratorClassName,
				FullNameGenerator.class, fullNameGenerator);
		}

		if (portalProperties.containsKey(PropsKeys.USERS_FULL_NAME_VALIDATOR)) {